1. Technical Field of the Invention
The present invention relates to inverse dithering, and more particularly, to a method for increasing the bit depth of and filtering a dithered image in accordance with a selected filter to generate an inverse dithered image.
2. Description of Related Art
Dithering has long been a method to maintain the perceptual quality of continuous tone images in low bit depth video displays. The illusion of true continuous tone images can be produced on display devices incapable of providing a required number of amplitude levels necessary for achieving a full, continuous tone image by dithering. By dithering the images they may be displayed on systems having low bit-depth frame buffers while maintaining a reasonable image quality. The technique is also referred to as half-toning when the result produces a binary (black and white) image. Dithering enables a respectable display at a lower amplitude resolution by distributing quantization noise over small areas.
One process for improving the quality of a dithered image is referred to as inverse dithering. Inverse dithering strives to restore the original continuous tone nature of a predithered image. In inverse dithering, low-pass filters are used to reverse the effects of dithering such as graininess of the picture. However, use of low-pass filtering tends to blur the object edges of the image. Therefore, the inverse dithering process must ultimately achieve two conflicting goals. First, the effects of the original dithering must be smoothed, and at the same time the object edges or the high-frequency content of the original image must be maintained without undesirable blurring.
Inverse dithering may be discussed in a larger context of an image-rendering system. As illustrated in FIG. 1, a simplified image-rendering system consists of a dithering system 10 that receives as input, pixel values of an image I(x,y). The originally received image may be a monochromatic or a color image. The original image I(x,y) will have an amplitude resolution of qxe2x80x2 bits per pixel and the pixel values will be within the range of
I(x,y)xcex5{0,1,2, . . . ,2qxe2x80x2xe2x88x921}.xe2x80x83xe2x80x83(1)
The image I(x,y) is reduced in amplitude resolution to m bits per pixel by the dithering process. The dithered image Id(x,y) will consist of pixels having values within the range of
xe2x80x83Id(x,y)xcex5{0,1,2, . . . ,2mxe2x88x921}.xe2x80x83xe2x80x83(2)
The dithered image Id(x,y) is processed by an image buffer 15 which in many computer display systems would typically comprise a frame buffer. However, the image buffer may comprise any number of other apparatuses for holding or transporting an image such as a communication channel. The image buffer 15 actually drives the necessity for amplitude reduction of the original image I(x,y) due to the limited amount of memory in the buffer for storage or the narrow bandwidth of a communication channel.
The inverse dithering system 20 receives the dithered image Id(x,y) and produces a reconstructed image Ir(x,y) having a higher amplitude resolution of qxe2x80x3-bits per pixel. The amplitude resolution of the original and reconstructed images may be the same, but this is not required. The reconstructed image will have pixel values within the range
Ir(x,y)xcex5{0,1,2, . . . ,2qxe2x80x3xe2x88x921}.xe2x80x83xe2x80x83(3)
A variety of methods have been developed for performing inverse dithering. The majority of these methods have been focused on the specialized case of inverse half-toning or, in other words, recovery of full gray scale from binary images. In one technique, a gray scale image is constructed from a binary image by means of a statistically generated lookup table. This method utilizes statistics generated during the original dithering process to perform the statistical analysis necessary to generate the lookup table. The statistical analysis requires complex calculations, and the storage of the lookup table greatly increases the memory requirements.
Another method utilizes cascading of adaptive run-length algorithms with statistical smoothing and impulse removal. A class of iterative, nonlinear algorithms have been proposed that are based on the theory of Projection Onto Convex Sets (POCS). This technique involves performing multiple iterations of an inverse dithering process until a final inverse dithered image is determined. This requires a great deal of processing due to the multiple iterations. Other methods have used information generated by a wavelet decomposition to perform the inverse dithering process.
There are also methods for reconstructing a dithered color image referred to as xe2x80x9ccolor recoveryxe2x80x9d. The color recovery technique requires a renormalization process that increases the overhead requirements for processing the inverse dithering algorithm.
Some of the aforementioned techniques require prior knowledge of the dither mask used to dither the original image. Also, most of these methods involve highly complex calculations and require a great deal of memory in order to perform the inverse dithering processes. These requirements limit the ease and speed in which an inverse dithering process may be performed. Thus, there has arisen a need for a method of inverse dithering that is substantially less computationally complex and requires less memory resources than those of methods presently utilized.
Accordingly, it is an object of the present invention to provide a method and apparatus for inverse dithering an image which has been dithered according to any of a plurality of known dithering methods.
It is also an object of the present invention to provide a technique for increasing the bit depth of a received portion of the dithered image from a first amplitude resolution to a second amplitude resolution.
It is yet another object of the present invention to provide a technique for filtering a portion of the dithered image at a second amplitude resolution to generate an inverse dithered image.
It is still further an object of the present invention to provide further advantages and features, which will become more apparent to those skilled in the art from the disclosure, including the preferred embodiment, which shall be described below.
The present invention overcomes the foregoing and other problems with a system and method for inverse dithering a dithered image. The system includes a plurality of digital filters which are preferably arranged in a preselected order. The digital filters are typically either horizontally symmetric digital filters or members of a horizontally asymmetric digital filter pair. The filters can be ordered according to a predetermined set of rules such that filters having a higher index never include a subset of a lower indexed filter. The filters may also be ordered such that asymmetric digital filter pairs always include adjacent filtering indices. Finally, digital filters covering the same region of support also beneficially have adjacent indices and are ordered in increasing cutoff frequency order.
A system processor receives information on a selected one of the plurality of digital filters and information concerning a selected portion of the dithered image. The selected portion of the dithered image is multiplied by a gain factor such that the selected portion of the dithered image is increased from a first amplitude resolution to a second amplitude resolution. The image at the second amplitude resolution is expressed in a greater number of bits than the image at the first amplitude resolution. This process of up-mutiplication may be carried out in a variety of ways including methods such as bit replication of the selected portion of the dithered image.
In a first embodiment of the invention, the selected portion of the image at the second amplitude resolution is multiplied by the filter coefficients of the selected filter to generate a selected portion of the inversed dithered image. This process may then be repeated for each portion of the dithered image until the entire inverse dithered image is recreated.
In another embodiment, after increasing the bit depth of the selected portion of the dithered image to a second amplitude resolution, a difference map of the selected portion of the dithered image is generated in accordance with the selected filter. This difference map is utilized to select a correction factor stored within a correction table. The correction factor is added to the up-multiplied selected portion of the dithered image at the second amplitude resolution to generate the selected portion of the inverse dithered image. The correction table is generated from the coefficients of a filter set including the selected filter.